<template>
  
    <div class="goods-item" @click="goodListItemClick">
      <img v-lazy="showimg" alt="" @load="imgLoad"/>
      <div class="goods-info">
        <p>{{ goodsItem.title }}</p>
        <span class="price">{{ goodsItem.price }}</span>
        <span class="collect">{{ goodsItem.cfav }}</span>
      </div>
    </div>

</template>

<script>
export default {
  props: {
    goodsItem: {
      type: Object,
      default() {
        return {};
      }
    }
  },
  computed: {
    // 多个接口复用这个方法 图片在多个位置
    showimg() {
      return this.goodsItem.img || this.goodsItem.image || this.goodsItem.show.img
    }
  },
  methods: {
    imgLoad() {
     
      // 发射事件总线，给爷爷组件通信 h
      this.$bus.$emit('itemload')
    },
    goodListItemClick(){
        // route传参数有params和query两种方式
        this.$router.push({
          path:'/detail',
          query:{
            iid:this.goodsItem.iid
          }
        })
    }
  },
};
</script>

<style>
.goods-item {
  width: 48%;
  padding-bottom: 40px;
  position: relative;
}
.goods-item img {
  width: 100%;
  border-radius: 5px;
}
.goods-info{
    font-size: 12px;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    text-align: center;
    overflow: hidden;
}
.goods-info p{
    /* overflow: hidden; */
    text-overflow: ellipsis;
    white-space: nowrap;
}
.goods-info .price{
    color: var(--color-high-text);
    margin-right: 20px;
}
.goods-info .collect{
    position: relative;
}
.goods-info .collect::before{
    content: '';
    position: absolute;
    left: -15px;
    top: -1px;
    width: 14px;
    height: 14px;
    background: url("~assets/img/common/collect.svg") 0 0/14px 14px;
}
</style>
